package cn.edu.scau.cmi.ema.dao;

import cn.edu.scau.cmi.ema.base.CmiPagination;
import cn.edu.scau.cmi.ema.domain.Punish;
import org.springframework.dao.DataAccessException;

import java.util.Set;

public interface PunishDAO extends JpaDao<Punish> {

	public Punish findPunishById(Integer id) throws DataAccessException;

	public Punish findPunishById(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Punish> findPunishByName(String name) throws DataAccessException;

	public Set<Punish> findPunishByName(String name, int startResult, int maxRows) throws DataAccessException;

	public Set<Punish> findPunishByNameContaining(String name_1) throws DataAccessException;

	public Set<Punish> findPunishByNameContaining(String name_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Punish> findPunishByDescription(String description) throws DataAccessException;

	public Set<Punish> findPunishByDescription(String description, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Punish> findPunishByDescriptionContaining(String description_1) throws DataAccessException;

	public Set<Punish> findPunishByDescriptionContaining(String description_1, int startResult, int maxRows)
			throws DataAccessException;

	public Punish findPunishByPrimaryKey(Integer id) throws DataAccessException;

	public Punish findPunishByPrimaryKey(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Punish> findPunishsByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Punish> findAllPunishs() throws DataAccessException;

	public Set<Punish> findAllPunishs(int startResult, int maxRows) throws DataAccessException;

	public Set<Punish> findPunishByCompositeProperities(String sql, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Punish> findPunishsByDetachedCriteria(CmiPagination page) throws DataAccessException;

	public Punish findPunishByPhysicalPrimaryKey(String name) throws DataAccessException;

	public Punish findPunishByPhysicalPrimaryKey(String name, int startResult, int maxRows) throws DataAccessException;
}
